package com.example.statemachine.core;

import lombok.Data;

@Data
public class TransitionResult<T> {
    private T entity;
    private StateEnum previousState;
    private StateEnum currentState;
    private StateMachineContext context;
    private boolean success;
    private String message;

    public TransitionResult(T entity, StateEnum previousState,
                            StateEnum currentState, StateMachineContext context) {
        this.entity = entity;
        this.previousState = previousState;
        this.currentState = currentState;
        this.context = context;
        this.success = true;
    }
}